<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.9.1"/>
<title>IDA SDK: ua.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">IDA SDK
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="files.html"><span>Header&#160;Files</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">ua.hpp File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Functions that deal with the disassembling of program instructions. </p>
<p>There are 2 kinds of functions:</p><ul>
<li>functions that are called from the kernel to disassemble an instruction. These functions call IDP module for it.</li>
<li>functions that are called from IDP module to disassemble an instruction. We will call them 'helper functions'.</li>
</ul>
<p>Disassembly of an instruction is made in three steps:</p><ol type="1">
<li>analysis: ana.cpp</li>
<li>emulation: emu.cpp</li>
<li>conversion to text: out.cpp</li>
</ol>
<p>The kernel calls the IDP module to perform these steps. At first, the kernel always calls analysis. The analyzer must decode the instruction and fill the <a class="el" href="classinsn__t.html">insn_t</a> instance that it receives through its callback. It has no rights to change anything in the database.</p>
<p>The second step, emulation, is called for each instruction. This step must make necessary changes to the database, plan analysis of subsequent instructions, track register values, memory contents, etc. However, the kernel may call the emulation step for any address in the program - there is no ordering of addresses. Usually, the emulation is called necessary for subsequent addresses but this is not guaranteed. The main goal of emulation step is to track down execution flow and to plan conversion of necessary bytes to instructions.</p>
<p>The last step, conversion to text, is called each time an instruction is displayed on the screen. The kernel will always call the analysis step first (the analysis should be very fast) and then will call conversion to text. The emulation and conversion steps should use information stored in the <a class="el" href="classinsn__t.html">insn_t</a> instance they receive. They should not access the bytes of the instruction and decode it again - this should only be done in the analysis step. </p>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classop__t.html">op_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Operand of an instruction.  <a href="classop__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classinsn__t.html">insn_t</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unionvalue__u.html">value_u</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This structure is used to pass values of bytes to helper functions.  <a href="unionvalue__u.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvalue__u_1_1dq__t.html">value_u::dq_t</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvalue__u_1_1dt__t.html">value_u::dt_t</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvalue__u_1_1d128__t.html">value_u::d128_t</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoutctx__base__t.html">outctx_base_t</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoutctx__t.html">outctx_t</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ae5931c5d9066c7082df66cab0f16fdce"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> size_t <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ua_8hpp.html#ae5931c5d9066c7082df66cab0f16fdce">get_immvals</a> (<a class="el" href="pro_8h.html#aef265b11f25357d520dcfd40aa8c18f3">uval_t</a> *out, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea, int n, <a class="el" href="pro_8h.html#a55dd00e03168fb5180830e87ef0a2c57">flags_t</a> F, <a class="el" href="classinsn__t.html">insn_t</a> *cache=NULL)</td></tr>
<tr class="memdesc:ae5931c5d9066c7082df66cab0f16fdce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get immediate values at the specified address.  <a href="#ae5931c5d9066c7082df66cab0f16fdce">More...</a><br /></td></tr>
<tr class="separator:ae5931c5d9066c7082df66cab0f16fdce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a059a23df8db91c9efdf671ab746f5dd3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> int <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ua_8hpp.html#a059a23df8db91c9efdf671ab746f5dd3">get_lookback</a> (void)</td></tr>
<tr class="memdesc:a059a23df8db91c9efdf671ab746f5dd3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of instructions to look back.  <a href="#a059a23df8db91c9efdf671ab746f5dd3">More...</a><br /></td></tr>
<tr class="separator:a059a23df8db91c9efdf671ab746f5dd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afce3853e267ffe25b65a3dd82aee0a51"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="structoutctx__base__t.html">outctx_base_t</a> *<a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ua_8hpp.html#afce3853e267ffe25b65a3dd82aee0a51">create_outctx</a> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea, <a class="el" href="pro_8h.html#a55dd00e03168fb5180830e87ef0a2c57">flags_t</a> F=0, int suspop=0)</td></tr>
<tr class="memdesc:afce3853e267ffe25b65a3dd82aee0a51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new output context.  <a href="#afce3853e267ffe25b65a3dd82aee0a51">More...</a><br /></td></tr>
<tr class="separator:afce3853e267ffe25b65a3dd82aee0a51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a402aa11dc2b647150905fa46acd063e1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ua_8hpp.html#a402aa11dc2b647150905fa46acd063e1">print_insn_mnem</a> (<a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a> *out, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea)</td></tr>
<tr class="memdesc:a402aa11dc2b647150905fa46acd063e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print instruction mnemonics.  <a href="#a402aa11dc2b647150905fa46acd063e1">More...</a><br /></td></tr>
<tr class="separator:a402aa11dc2b647150905fa46acd063e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb129feb2d4ac731c53ff93ab00beccb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ua_8hpp.html#acb129feb2d4ac731c53ff93ab00beccb">print_charlit</a> (char *buf, const void *ptr, int size)</td></tr>
<tr class="memdesc:acb129feb2d4ac731c53ff93ab00beccb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print a character constant.  <a href="#acb129feb2d4ac731c53ff93ab00beccb">More...</a><br /></td></tr>
<tr class="separator:acb129feb2d4ac731c53ff93ab00beccb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a091725df85169dc0f25a40ba62a6304e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ua_8hpp.html#a091725df85169dc0f25a40ba62a6304e">print_fpval</a> (char *buf, size_t bufsize, const void *v, int size)</td></tr>
<tr class="memdesc:a091725df85169dc0f25a40ba62a6304e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print a floating point value.  <a href="#a091725df85169dc0f25a40ba62a6304e">More...</a><br /></td></tr>
<tr class="separator:a091725df85169dc0f25a40ba62a6304e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d8f5b848e3b18b7bfb26e9a31f23d86"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7d8f5b848e3b18b7bfb26e9a31f23d86"></a>
<a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#a55dd00e03168fb5180830e87ef0a2c57">flags_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ua_8hpp.html#a7d8f5b848e3b18b7bfb26e9a31f23d86">get_dtype_flag</a> (op_dtype_t dtype)</td></tr>
<tr class="memdesc:a7d8f5b848e3b18b7bfb26e9a31f23d86"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get flags for <a class="el" href="classop__t.html#a9d0ea64a2929fc998bca6cebd1b91c09" title="Type of operand value (see Operand value types). ">op_t::dtype</a> field. <br /></td></tr>
<tr class="separator:a7d8f5b848e3b18b7bfb26e9a31f23d86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad440689adc40a924d8cf303b7d23dd88"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad440689adc40a924d8cf303b7d23dd88"></a>
<a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> size_t <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ua_8hpp.html#ad440689adc40a924d8cf303b7d23dd88">get_dtype_size</a> (op_dtype_t dtype)</td></tr>
<tr class="memdesc:ad440689adc40a924d8cf303b7d23dd88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get size of opt_::dtype field. <br /></td></tr>
<tr class="separator:ad440689adc40a924d8cf303b7d23dd88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad062f64942bc6de694f2c684db306111"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad062f64942bc6de694f2c684db306111"></a>
<a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> op_dtype_t <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ua_8hpp.html#ad062f64942bc6de694f2c684db306111">get_dtype_by_size</a> (<a class="el" href="pro_8h.html#adbc570541d9f9a0c4489f9f1fe5f5699">asize_t</a> size)</td></tr>
<tr class="memdesc:ad062f64942bc6de694f2c684db306111"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get <a class="el" href="classop__t.html#a9d0ea64a2929fc998bca6cebd1b91c09" title="Type of operand value (see Operand value types). ">op_t::dtype</a> from size. <br /></td></tr>
<tr class="separator:ad062f64942bc6de694f2c684db306111"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e879b8ca7ebc610fb694d36be975922"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> int <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ua_8hpp.html#a6e879b8ca7ebc610fb694d36be975922">create_insn</a> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea, <a class="el" href="classinsn__t.html">insn_t</a> *out=NULL)</td></tr>
<tr class="memdesc:a6e879b8ca7ebc610fb694d36be975922"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an instruction at the specified address.  <a href="#a6e879b8ca7ebc610fb694d36be975922">More...</a><br /></td></tr>
<tr class="separator:a6e879b8ca7ebc610fb694d36be975922"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af83aad26f4b3e39e7fbda441100f15cf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> int <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ua_8hpp.html#af83aad26f4b3e39e7fbda441100f15cf">decode_insn</a> (<a class="el" href="classinsn__t.html">insn_t</a> *out, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea)</td></tr>
<tr class="memdesc:af83aad26f4b3e39e7fbda441100f15cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Analyze the specified address and fill 'out'.  <a href="#af83aad26f4b3e39e7fbda441100f15cf">More...</a><br /></td></tr>
<tr class="separator:af83aad26f4b3e39e7fbda441100f15cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecb13f7c9c45e7098a438ffbaf51fc1f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ua_8hpp.html#aecb13f7c9c45e7098a438ffbaf51fc1f">can_decode</a> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea)</td></tr>
<tr class="memdesc:aecb13f7c9c45e7098a438ffbaf51fc1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Can the bytes at address 'ea' be decoded as instruction?  <a href="#aecb13f7c9c45e7098a438ffbaf51fc1f">More...</a><br /></td></tr>
<tr class="separator:aecb13f7c9c45e7098a438ffbaf51fc1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65483e473d279d4d2046b3dab55db250"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ua_8hpp.html#a65483e473d279d4d2046b3dab55db250">print_operand</a> (<a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a> *out, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea, int n, int getn_flags=0, struct <a class="el" href="structprintop__t.html">printop_t</a> *newtype=NULL)</td></tr>
<tr class="memdesc:a65483e473d279d4d2046b3dab55db250"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate text representation for operand #n.  <a href="#a65483e473d279d4d2046b3dab55db250">More...</a><br /></td></tr>
<tr class="separator:a65483e473d279d4d2046b3dab55db250"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2e41a09ae3fbbdc017e6f06df6015cd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ua_8hpp.html#aa2e41a09ae3fbbdc017e6f06df6015cd">decode_prev_insn</a> (<a class="el" href="classinsn__t.html">insn_t</a> *out, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea)</td></tr>
<tr class="memdesc:aa2e41a09ae3fbbdc017e6f06df6015cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decode previous instruction if it exists, fill 'out'.  <a href="#aa2e41a09ae3fbbdc017e6f06df6015cd">More...</a><br /></td></tr>
<tr class="separator:aa2e41a09ae3fbbdc017e6f06df6015cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7af8005f410c8436f938da3c28eeb685"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ua_8hpp.html#a7af8005f410c8436f938da3c28eeb685">decode_preceding_insn</a> (<a class="el" href="classinsn__t.html">insn_t</a> *out, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea, bool *p_farref=NULL)</td></tr>
<tr class="memdesc:a7af8005f410c8436f938da3c28eeb685"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decode preceding instruction in the execution flow.  <a href="#a7af8005f410c8436f938da3c28eeb685">More...</a><br /></td></tr>
<tr class="separator:a7af8005f410c8436f938da3c28eeb685"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae47fd4a188e72fcd6d7bb0b021f655b4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ua_8hpp.html#ae47fd4a188e72fcd6d7bb0b021f655b4">construct_macro</a> (<a class="el" href="classinsn__t.html">insn_t</a> &amp;insn, bool enable, bool(<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> *build_macro)(<a class="el" href="classinsn__t.html">insn_t</a> &amp;insn, bool may_go_forward))</td></tr>
<tr class="memdesc:ae47fd4a188e72fcd6d7bb0b021f655b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a macro instruction.  <a href="#ae47fd4a188e72fcd6d7bb0b021f655b4">More...</a><br /></td></tr>
<tr class="separator:ae47fd4a188e72fcd6d7bb0b021f655b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a322fc39fb22cfb5b94ab6b09e3d1e8c3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a322fc39fb22cfb5b94ab6b09e3d1e8c3"></a>
<a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ua_8hpp.html#a322fc39fb22cfb5b94ab6b09e3d1e8c3">guess_table_address</a> (const <a class="el" href="classinsn__t.html">insn_t</a> &amp;insn)</td></tr>
<tr class="memdesc:a322fc39fb22cfb5b94ab6b09e3d1e8c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Guess the jump table address (ibm pc specific) <br /></td></tr>
<tr class="separator:a322fc39fb22cfb5b94ab6b09e3d1e8c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ba46ff394f3efe997b785e0a8ece22b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0ba46ff394f3efe997b785e0a8ece22b"></a>
<a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#adbc570541d9f9a0c4489f9f1fe5f5699">asize_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ua_8hpp.html#a0ba46ff394f3efe997b785e0a8ece22b">guess_table_size</a> (const <a class="el" href="classinsn__t.html">insn_t</a> &amp;insn, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> jump_table)</td></tr>
<tr class="memdesc:a0ba46ff394f3efe997b785e0a8ece22b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Guess the jump table size. <br /></td></tr>
<tr class="separator:a0ba46ff394f3efe997b785e0a8ece22b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02a4561e4f07baf3751b23f5636e440f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> int <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ua_8hpp.html#a02a4561e4f07baf3751b23f5636e440f">get_spoiled_reg</a> (const <a class="el" href="classinsn__t.html">insn_t</a> &amp;insn, const <a class="el" href="pro_8h.html#a1134b580f8da4de94ca6b1de4d37975e">uint32</a> *regs, size_t n)</td></tr>
<tr class="memdesc:a02a4561e4f07baf3751b23f5636e440f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Does the instruction spoil any register from 'regs'?.  <a href="#a02a4561e4f07baf3751b23f5636e440f">More...</a><br /></td></tr>
<tr class="separator:a02a4561e4f07baf3751b23f5636e440f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Address translation</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>The following functions can be used by processor modules to map addresses from one region to another.</p>
<p>They are especially useful for microprocessors that map the same memory region to multiple address ranges or use memory bank switching. The user can use the following techniques to desribe address translations:</p><ul>
<li>some processors support the segment transation feature. the user can specify the mapping in Edit, Segments, Change segment translation</li>
<li>the user can specify mapping for an individual direct call instruction by specifying it as an offset (Edit, Operand types, Offset)</li>
<li>specify the value of the data segment virtual register (ds). it will be used to calculate data addresses </li>
</ul>
</div></td></tr>
<tr class="memitem:a6c6e3e05aec87c39975384b2518ac197"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ua_8hpp.html#a6c6e3e05aec87c39975384b2518ac197">calc_dataseg</a> (const <a class="el" href="classinsn__t.html">insn_t</a> &amp;insn, int n=-1, int rgnum=-1)</td></tr>
<tr class="memdesc:a6c6e3e05aec87c39975384b2518ac197"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get data segment for the instruction operand.  <a href="#a6c6e3e05aec87c39975384b2518ac197">More...</a><br /></td></tr>
<tr class="separator:a6c6e3e05aec87c39975384b2518ac197"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade94ed050ba6d52abf9967b536a2c0ad"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ua_8hpp.html#ade94ed050ba6d52abf9967b536a2c0ad">map_data_ea</a> (const <a class="el" href="classinsn__t.html">insn_t</a> &amp;insn, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> addr, int opnum=-1)</td></tr>
<tr class="memdesc:ade94ed050ba6d52abf9967b536a2c0ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map a data address.  <a href="#ade94ed050ba6d52abf9967b536a2c0ad">More...</a><br /></td></tr>
<tr class="separator:ade94ed050ba6d52abf9967b536a2c0ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a4487760b81aef27c8029c9452d6464"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8a4487760b81aef27c8029c9452d6464"></a>
<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>map_data_ea</b> (const <a class="el" href="classinsn__t.html">insn_t</a> &amp;insn, const <a class="el" href="classop__t.html">op_t</a> &amp;op)</td></tr>
<tr class="separator:a8a4487760b81aef27c8029c9452d6464"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ef618838a811385a5f2564bcab4e762"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ua_8hpp.html#a1ef618838a811385a5f2564bcab4e762">map_code_ea</a> (const <a class="el" href="classinsn__t.html">insn_t</a> &amp;insn, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> addr, int opnum)</td></tr>
<tr class="memdesc:a1ef618838a811385a5f2564bcab4e762"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map a code address.  <a href="#a1ef618838a811385a5f2564bcab4e762">More...</a><br /></td></tr>
<tr class="separator:a1ef618838a811385a5f2564bcab4e762"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa49f3bb68dae8ec7d68a4627eb12d86"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afa49f3bb68dae8ec7d68a4627eb12d86"></a>
<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>map_code_ea</b> (const <a class="el" href="classinsn__t.html">insn_t</a> &amp;insn, const <a class="el" href="classop__t.html">op_t</a> &amp;op)</td></tr>
<tr class="separator:afa49f3bb68dae8ec7d68a4627eb12d86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0fe7653a06bf90b5f72468d7194efbb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac0fe7653a06bf90b5f72468d7194efbb"></a>
<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>map_ea</b> (const <a class="el" href="classinsn__t.html">insn_t</a> &amp;insn, const <a class="el" href="classop__t.html">op_t</a> &amp;op, bool iscode)</td></tr>
<tr class="separator:ac0fe7653a06bf90b5f72468d7194efbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac13deafc52f2df587276728bd44587c4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac13deafc52f2df587276728bd44587c4"></a>
<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>map_ea</b> (const <a class="el" href="classinsn__t.html">insn_t</a> &amp;insn, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> addr, int opnum, bool iscode)</td></tr>
<tr class="separator:ac13deafc52f2df587276728bd44587c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga09d3b330d2aa9edbde91549fc19525ab"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___o_f__.html#ga09d3b330d2aa9edbde91549fc19525ab">OF_NO_BASE_DISP</a>&#160;&#160;&#160;0x80</td></tr>
<tr class="memdesc:ga09d3b330d2aa9edbde91549fc19525ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">base displacement doesn't exist.  <a href="group___o_f__.html#ga09d3b330d2aa9edbde91549fc19525ab">More...</a><br /></td></tr>
<tr class="separator:ga09d3b330d2aa9edbde91549fc19525ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf5cdb56eaaa72c4beacc2c87a67eefc8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___o_f__.html#gaf5cdb56eaaa72c4beacc2c87a67eefc8">OF_OUTER_DISP</a>&#160;&#160;&#160;0x40</td></tr>
<tr class="memdesc:gaf5cdb56eaaa72c4beacc2c87a67eefc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">outer displacement exists.  <a href="group___o_f__.html#gaf5cdb56eaaa72c4beacc2c87a67eefc8">More...</a><br /></td></tr>
<tr class="separator:gaf5cdb56eaaa72c4beacc2c87a67eefc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7156131859baf6b3db9ff3351eae834b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___o_f__.html#ga7156131859baf6b3db9ff3351eae834b">PACK_FORM_DEF</a>&#160;&#160;&#160;0x20</td></tr>
<tr class="memdesc:ga7156131859baf6b3db9ff3351eae834b"><td class="mdescLeft">&#160;</td><td class="mdescRight">packed factor defined.  <a href="group___o_f__.html#ga7156131859baf6b3db9ff3351eae834b">More...</a><br /></td></tr>
<tr class="separator:ga7156131859baf6b3db9ff3351eae834b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0fd70126cf669c8c0618d890f43640bd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0fd70126cf669c8c0618d890f43640bd"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___o_f__.html#ga0fd70126cf669c8c0618d890f43640bd">OF_NUMBER</a>&#160;&#160;&#160;0x10</td></tr>
<tr class="memdesc:ga0fd70126cf669c8c0618d890f43640bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">the operand can be converted to a number only <br /></td></tr>
<tr class="separator:ga0fd70126cf669c8c0618d890f43640bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0b79d1666f5843ac4599ebb3d158adee"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0b79d1666f5843ac4599ebb3d158adee"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___o_f__.html#ga0b79d1666f5843ac4599ebb3d158adee">OF_SHOW</a>&#160;&#160;&#160;0x08</td></tr>
<tr class="memdesc:ga0b79d1666f5843ac4599ebb3d158adee"><td class="mdescLeft">&#160;</td><td class="mdescRight">should the operand be displayed? <br /></td></tr>
<tr class="separator:ga0b79d1666f5843ac4599ebb3d158adee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7b3131e3cc11e88be1e80a439829b293"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7b3131e3cc11e88be1e80a439829b293"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dt__.html#ga7b3131e3cc11e88be1e80a439829b293">dt_byte</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:ga7b3131e3cc11e88be1e80a439829b293"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit <br /></td></tr>
<tr class="separator:ga7b3131e3cc11e88be1e80a439829b293"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabb5cde4fad79943866df6e120315c98c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gabb5cde4fad79943866df6e120315c98c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dt__.html#gabb5cde4fad79943866df6e120315c98c">dt_word</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:gabb5cde4fad79943866df6e120315c98c"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit <br /></td></tr>
<tr class="separator:gabb5cde4fad79943866df6e120315c98c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga39d680a96eebfed96dbbd9c20d7066c3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga39d680a96eebfed96dbbd9c20d7066c3"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dt__.html#ga39d680a96eebfed96dbbd9c20d7066c3">dt_dword</a>&#160;&#160;&#160;2</td></tr>
<tr class="memdesc:ga39d680a96eebfed96dbbd9c20d7066c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">32 bit <br /></td></tr>
<tr class="separator:ga39d680a96eebfed96dbbd9c20d7066c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaad9eb178bad28892ed548f9e56d90dc9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaad9eb178bad28892ed548f9e56d90dc9"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dt__.html#gaad9eb178bad28892ed548f9e56d90dc9">dt_float</a>&#160;&#160;&#160;3</td></tr>
<tr class="memdesc:gaad9eb178bad28892ed548f9e56d90dc9"><td class="mdescLeft">&#160;</td><td class="mdescRight">4 byte <br /></td></tr>
<tr class="separator:gaad9eb178bad28892ed548f9e56d90dc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8cb6ffc96fb9fec3a6fb00b57316bac9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8cb6ffc96fb9fec3a6fb00b57316bac9"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dt__.html#ga8cb6ffc96fb9fec3a6fb00b57316bac9">dt_double</a>&#160;&#160;&#160;4</td></tr>
<tr class="memdesc:ga8cb6ffc96fb9fec3a6fb00b57316bac9"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 byte <br /></td></tr>
<tr class="separator:ga8cb6ffc96fb9fec3a6fb00b57316bac9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac7069d33cabaaddb5191cc7e53252222"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac7069d33cabaaddb5191cc7e53252222"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dt__.html#gac7069d33cabaaddb5191cc7e53252222">dt_tbyte</a>&#160;&#160;&#160;5</td></tr>
<tr class="memdesc:gac7069d33cabaaddb5191cc7e53252222"><td class="mdescLeft">&#160;</td><td class="mdescRight">variable size ( <a class="el" href="structprocessor__t.html#a7a1ea672e493ec9b59b6d3d8e09d69e1" title="Size of long double (tbyte) for this processor (meaningful only if asm_t::a_tbyte != NULL) ...">processor_t::tbyte_size</a>) <br /></td></tr>
<tr class="separator:gac7069d33cabaaddb5191cc7e53252222"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae74028429ed869e7420e452dcef43317"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae74028429ed869e7420e452dcef43317"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dt__.html#gae74028429ed869e7420e452dcef43317">dt_packreal</a>&#160;&#160;&#160;6</td></tr>
<tr class="memdesc:gae74028429ed869e7420e452dcef43317"><td class="mdescLeft">&#160;</td><td class="mdescRight">packed real format for mc68040 <br /></td></tr>
<tr class="separator:gae74028429ed869e7420e452dcef43317"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa10505ff3777d1c702dc0fcb486a6f79"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa10505ff3777d1c702dc0fcb486a6f79"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dt__.html#gaa10505ff3777d1c702dc0fcb486a6f79">dt_qword</a>&#160;&#160;&#160;7</td></tr>
<tr class="memdesc:gaa10505ff3777d1c702dc0fcb486a6f79"><td class="mdescLeft">&#160;</td><td class="mdescRight">64 bit <br /></td></tr>
<tr class="separator:gaa10505ff3777d1c702dc0fcb486a6f79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3bd291eb83aaa19325154d5f45637d6d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3bd291eb83aaa19325154d5f45637d6d"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dt__.html#ga3bd291eb83aaa19325154d5f45637d6d">dt_byte16</a>&#160;&#160;&#160;8</td></tr>
<tr class="memdesc:ga3bd291eb83aaa19325154d5f45637d6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">128 bit <br /></td></tr>
<tr class="separator:ga3bd291eb83aaa19325154d5f45637d6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga268be91f07064dcff0353727c59c8cdf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga268be91f07064dcff0353727c59c8cdf"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dt__.html#ga268be91f07064dcff0353727c59c8cdf">dt_code</a>&#160;&#160;&#160;9</td></tr>
<tr class="memdesc:ga268be91f07064dcff0353727c59c8cdf"><td class="mdescLeft">&#160;</td><td class="mdescRight">ptr to code (not used?) <br /></td></tr>
<tr class="separator:ga268be91f07064dcff0353727c59c8cdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1c6c4bf7dd30fcd7f2e47de52325da4c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1c6c4bf7dd30fcd7f2e47de52325da4c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dt__.html#ga1c6c4bf7dd30fcd7f2e47de52325da4c">dt_void</a>&#160;&#160;&#160;10</td></tr>
<tr class="memdesc:ga1c6c4bf7dd30fcd7f2e47de52325da4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">none <br /></td></tr>
<tr class="separator:ga1c6c4bf7dd30fcd7f2e47de52325da4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga91b41c919ba1d4c42ea307ea6e8d4e81"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga91b41c919ba1d4c42ea307ea6e8d4e81"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dt__.html#ga91b41c919ba1d4c42ea307ea6e8d4e81">dt_fword</a>&#160;&#160;&#160;11</td></tr>
<tr class="memdesc:ga91b41c919ba1d4c42ea307ea6e8d4e81"><td class="mdescLeft">&#160;</td><td class="mdescRight">48 bit <br /></td></tr>
<tr class="separator:ga91b41c919ba1d4c42ea307ea6e8d4e81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab211db421bf77e573550e7fda075028c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab211db421bf77e573550e7fda075028c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dt__.html#gab211db421bf77e573550e7fda075028c">dt_bitfild</a>&#160;&#160;&#160;12</td></tr>
<tr class="memdesc:gab211db421bf77e573550e7fda075028c"><td class="mdescLeft">&#160;</td><td class="mdescRight">bit field (mc680x0) <br /></td></tr>
<tr class="separator:gab211db421bf77e573550e7fda075028c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga46f3a4c39450bc50572ea6d2dd51c2f2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga46f3a4c39450bc50572ea6d2dd51c2f2"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dt__.html#ga46f3a4c39450bc50572ea6d2dd51c2f2">dt_string</a>&#160;&#160;&#160;13</td></tr>
<tr class="memdesc:ga46f3a4c39450bc50572ea6d2dd51c2f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">pointer to asciiz string <br /></td></tr>
<tr class="separator:ga46f3a4c39450bc50572ea6d2dd51c2f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga846b51cfcb3d1ce299ad9f891a2b20b0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga846b51cfcb3d1ce299ad9f891a2b20b0"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dt__.html#ga846b51cfcb3d1ce299ad9f891a2b20b0">dt_unicode</a>&#160;&#160;&#160;14</td></tr>
<tr class="memdesc:ga846b51cfcb3d1ce299ad9f891a2b20b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">pointer to unicode string <br /></td></tr>
<tr class="separator:ga846b51cfcb3d1ce299ad9f891a2b20b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaccb3747e107f807c752e9929a1433886"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaccb3747e107f807c752e9929a1433886"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dt__.html#gaccb3747e107f807c752e9929a1433886">dt_ldbl</a>&#160;&#160;&#160;15</td></tr>
<tr class="memdesc:gaccb3747e107f807c752e9929a1433886"><td class="mdescLeft">&#160;</td><td class="mdescRight">long double (which may be different from tbyte) <br /></td></tr>
<tr class="separator:gaccb3747e107f807c752e9929a1433886"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4f1f6d814f621a30c37e3d9a613d14c9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4f1f6d814f621a30c37e3d9a613d14c9"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dt__.html#ga4f1f6d814f621a30c37e3d9a613d14c9">dt_byte32</a>&#160;&#160;&#160;16</td></tr>
<tr class="memdesc:ga4f1f6d814f621a30c37e3d9a613d14c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">256 bit <br /></td></tr>
<tr class="separator:ga4f1f6d814f621a30c37e3d9a613d14c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga70b4ee93fa2b39ad741baea204dba8b7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga70b4ee93fa2b39ad741baea204dba8b7"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dt__.html#ga70b4ee93fa2b39ad741baea204dba8b7">dt_byte64</a>&#160;&#160;&#160;17</td></tr>
<tr class="memdesc:ga70b4ee93fa2b39ad741baea204dba8b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">512 bit <br /></td></tr>
<tr class="separator:ga70b4ee93fa2b39ad741baea204dba8b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8726ede152c47736e053bb1a9295cc89"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>DECLARE_INSN_HELPERS</b>(decl)</td></tr>
<tr class="separator:a8726ede152c47736e053bb1a9295cc89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9229071681a63b57e4308c4fa8c4cb5c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9229071681a63b57e4308c4fa8c4cb5c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___op__.html#ga9229071681a63b57e4308c4fa8c4cb5c">Op1</a>&#160;&#160;&#160;ops[0]</td></tr>
<tr class="memdesc:ga9229071681a63b57e4308c4fa8c4cb5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">first operand <br /></td></tr>
<tr class="separator:ga9229071681a63b57e4308c4fa8c4cb5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga010684d73163b019663a7013e66c8926"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga010684d73163b019663a7013e66c8926"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___op__.html#ga010684d73163b019663a7013e66c8926">Op2</a>&#160;&#160;&#160;ops[1]</td></tr>
<tr class="memdesc:ga010684d73163b019663a7013e66c8926"><td class="mdescLeft">&#160;</td><td class="mdescRight">second operand <br /></td></tr>
<tr class="separator:ga010684d73163b019663a7013e66c8926"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga50ecf7316b68a12bfcd65a7686e6560d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga50ecf7316b68a12bfcd65a7686e6560d"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___op__.html#ga50ecf7316b68a12bfcd65a7686e6560d">Op3</a>&#160;&#160;&#160;ops[2]</td></tr>
<tr class="memdesc:ga50ecf7316b68a12bfcd65a7686e6560d"><td class="mdescLeft">&#160;</td><td class="mdescRight">third operand <br /></td></tr>
<tr class="separator:ga50ecf7316b68a12bfcd65a7686e6560d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga133099d9d2d29ceec44e6a12baa42e92"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga133099d9d2d29ceec44e6a12baa42e92"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___op__.html#ga133099d9d2d29ceec44e6a12baa42e92">Op4</a>&#160;&#160;&#160;ops[3]</td></tr>
<tr class="memdesc:ga133099d9d2d29ceec44e6a12baa42e92"><td class="mdescLeft">&#160;</td><td class="mdescRight">fourth operand <br /></td></tr>
<tr class="separator:ga133099d9d2d29ceec44e6a12baa42e92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6c9ed2ec0b745467f8b9d6ca8e621ca0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6c9ed2ec0b745467f8b9d6ca8e621ca0"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___op__.html#ga6c9ed2ec0b745467f8b9d6ca8e621ca0">Op5</a>&#160;&#160;&#160;ops[4]</td></tr>
<tr class="memdesc:ga6c9ed2ec0b745467f8b9d6ca8e621ca0"><td class="mdescLeft">&#160;</td><td class="mdescRight">fifth operand <br /></td></tr>
<tr class="separator:ga6c9ed2ec0b745467f8b9d6ca8e621ca0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac40c5ce9202dd94d453925c9db459288"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac40c5ce9202dd94d453925c9db459288"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___op__.html#gac40c5ce9202dd94d453925c9db459288">Op6</a>&#160;&#160;&#160;ops[5]</td></tr>
<tr class="memdesc:gac40c5ce9202dd94d453925c9db459288"><td class="mdescLeft">&#160;</td><td class="mdescRight">sixth operand <br /></td></tr>
<tr class="separator:gac40c5ce9202dd94d453925c9db459288"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafae201d14b8aaa7428b7d15609e6c88b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gafae201d14b8aaa7428b7d15609e6c88b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___op__.html#gafae201d14b8aaa7428b7d15609e6c88b">Op7</a>&#160;&#160;&#160;ops[6]</td></tr>
<tr class="memdesc:gafae201d14b8aaa7428b7d15609e6c88b"><td class="mdescLeft">&#160;</td><td class="mdescRight">seventh operand <br /></td></tr>
<tr class="separator:gafae201d14b8aaa7428b7d15609e6c88b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga76030b6778e1bccd0be27207a0afe375"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga76030b6778e1bccd0be27207a0afe375"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___op__.html#ga76030b6778e1bccd0be27207a0afe375">Op8</a>&#160;&#160;&#160;ops[7]</td></tr>
<tr class="memdesc:ga76030b6778e1bccd0be27207a0afe375"><td class="mdescLeft">&#160;</td><td class="mdescRight">eighth operand <br /></td></tr>
<tr class="separator:ga76030b6778e1bccd0be27207a0afe375"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab4130af67f276bd184f8102e27cfb1f2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab4130af67f276bd184f8102e27cfb1f2"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___i_n_s_n__.html#gab4130af67f276bd184f8102e27cfb1f2">INSN_MACRO</a>&#160;&#160;&#160;0x01</td></tr>
<tr class="memdesc:gab4130af67f276bd184f8102e27cfb1f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">macro instruction <br /></td></tr>
<tr class="separator:gab4130af67f276bd184f8102e27cfb1f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga87aa3b5c2d1953db2656ef1e72e90e0f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga87aa3b5c2d1953db2656ef1e72e90e0f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___i_n_s_n__.html#ga87aa3b5c2d1953db2656ef1e72e90e0f">INSN_MODMAC</a>&#160;&#160;&#160;0x02</td></tr>
<tr class="memdesc:ga87aa3b5c2d1953db2656ef1e72e90e0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">may modify the database to make room for the macro insn <br /></td></tr>
<tr class="separator:ga87aa3b5c2d1953db2656ef1e72e90e0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e4bb3c8142d309b3eb9fc03bebcc39a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7e4bb3c8142d309b3eb9fc03bebcc39a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CTXF_MAIN</b>&#160;&#160;&#160;0x0001</td></tr>
<tr class="separator:a7e4bb3c8142d309b3eb9fc03bebcc39a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f14c21a26be62964c502f70521c4af5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4f14c21a26be62964c502f70521c4af5"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CTXF_MULTI</b>&#160;&#160;&#160;0x0002</td></tr>
<tr class="separator:a4f14c21a26be62964c502f70521c4af5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0a02bd57072d8760c198f6e8d7ce654"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af0a02bd57072d8760c198f6e8d7ce654"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CTXF_CODE</b>&#160;&#160;&#160;0x0004</td></tr>
<tr class="separator:af0a02bd57072d8760c198f6e8d7ce654"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95462858956639ba524d80aebb1448e8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a95462858956639ba524d80aebb1448e8"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CTXF_STACK</b>&#160;&#160;&#160;0x0008</td></tr>
<tr class="separator:a95462858956639ba524d80aebb1448e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a210cf2aa63374ca529b59db39c6a177a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a210cf2aa63374ca529b59db39c6a177a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CTXF_GEN_XREFS</b>&#160;&#160;&#160;0x0010</td></tr>
<tr class="separator:a210cf2aa63374ca529b59db39c6a177a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38462b156ad5ea70a9231490cc3e2a9f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a38462b156ad5ea70a9231490cc3e2a9f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CTXF_XREF_STATE</b>&#160;&#160;&#160;0x0060</td></tr>
<tr class="separator:a38462b156ad5ea70a9231490cc3e2a9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65edcba790f567d885aebc00e8416ff3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a65edcba790f567d885aebc00e8416ff3"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XREFSTATE_NONE</b>&#160;&#160;&#160;0x0000</td></tr>
<tr class="separator:a65edcba790f567d885aebc00e8416ff3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a970f22634082b5f901bce7c1a15a1382"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a970f22634082b5f901bce7c1a15a1382"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XREFSTATE_GO</b>&#160;&#160;&#160;0x0020</td></tr>
<tr class="separator:a970f22634082b5f901bce7c1a15a1382"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56b5e6ac478e158d331d1f9547a520d1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a56b5e6ac478e158d331d1f9547a520d1"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XREFSTATE_DONE</b>&#160;&#160;&#160;0x0040</td></tr>
<tr class="separator:a56b5e6ac478e158d331d1f9547a520d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a720733ae13ff295bfd2a10df5c52666a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a720733ae13ff295bfd2a10df5c52666a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CTXF_GEN_CMT</b>&#160;&#160;&#160;0x0080</td></tr>
<tr class="separator:a720733ae13ff295bfd2a10df5c52666a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad85bbbf8a2c9bd563f566d9d1bdae2a1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad85bbbf8a2c9bd563f566d9d1bdae2a1"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CTXF_CMT_STATE</b>&#160;&#160;&#160;0x0300</td></tr>
<tr class="separator:ad85bbbf8a2c9bd563f566d9d1bdae2a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a579e00b514a831af7668151b3455ceaf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a579e00b514a831af7668151b3455ceaf"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>COMMSTATE_NONE</b>&#160;&#160;&#160;0x0000</td></tr>
<tr class="separator:a579e00b514a831af7668151b3455ceaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d348a89e87f67d9354be4c3f583332b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2d348a89e87f67d9354be4c3f583332b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>COMMSTATE_GO</b>&#160;&#160;&#160;0x0100</td></tr>
<tr class="separator:a2d348a89e87f67d9354be4c3f583332b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7d37aaa0f71275cf21daf43d069df18"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad7d37aaa0f71275cf21daf43d069df18"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>COMMSTATE_DONE</b>&#160;&#160;&#160;0x0200</td></tr>
<tr class="separator:ad7d37aaa0f71275cf21daf43d069df18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a073844275f22cdab369f87562ab22d49"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a073844275f22cdab369f87562ab22d49"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CTXF_VOIDS</b>&#160;&#160;&#160;0x0400</td></tr>
<tr class="separator:a073844275f22cdab369f87562ab22d49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d914d9586d194fd09a71f009f3016f4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2d914d9586d194fd09a71f009f3016f4"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CTXF_NORMAL_LABEL</b>&#160;&#160;&#160;0x0800</td></tr>
<tr class="separator:a2d914d9586d194fd09a71f009f3016f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb84afac5542343c68ebd0a24101c139"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abb84afac5542343c68ebd0a24101c139"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CTXF_DEMANGLED_LABEL</b>&#160;&#160;&#160;0x1000</td></tr>
<tr class="separator:abb84afac5542343c68ebd0a24101c139"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b792fe9c5ad26ea4687eb11ccbcff7b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5b792fe9c5ad26ea4687eb11ccbcff7b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CTXF_LABEL_OK</b>&#160;&#160;&#160;0x2000</td></tr>
<tr class="separator:a5b792fe9c5ad26ea4687eb11ccbcff7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6022fac5cbfbd6d2a63c65ac1b1fa68c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6022fac5cbfbd6d2a63c65ac1b1fa68c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CTXF_DEMANGLED_OK</b>&#160;&#160;&#160;0x4000</td></tr>
<tr class="separator:a6022fac5cbfbd6d2a63c65ac1b1fa68c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf62d714a88009dc2861e9f14bc8e38da"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf62d714a88009dc2861e9f14bc8e38da"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___o_o_f__.html#gaf62d714a88009dc2861e9f14bc8e38da">OOF_SIGNMASK</a>&#160;&#160;&#160;0x0003</td></tr>
<tr class="memdesc:gaf62d714a88009dc2861e9f14bc8e38da"><td class="mdescLeft">&#160;</td><td class="mdescRight">sign symbol (+/-) output <br /></td></tr>
<tr class="separator:gaf62d714a88009dc2861e9f14bc8e38da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0d65e3bfe751bb1c4cd95c3b6f4db987"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0d65e3bfe751bb1c4cd95c3b6f4db987"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___o_o_f__.html#ga0d65e3bfe751bb1c4cd95c3b6f4db987">OOFS_IFSIGN</a>&#160;&#160;&#160;0x0000</td></tr>
<tr class="memdesc:ga0d65e3bfe751bb1c4cd95c3b6f4db987"><td class="mdescLeft">&#160;</td><td class="mdescRight">output sign if needed <br /></td></tr>
<tr class="separator:ga0d65e3bfe751bb1c4cd95c3b6f4db987"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad5c2da3b028e65d27b852996302336d6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad5c2da3b028e65d27b852996302336d6"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___o_o_f__.html#gad5c2da3b028e65d27b852996302336d6">OOFS_NOSIGN</a>&#160;&#160;&#160;0x0001</td></tr>
<tr class="memdesc:gad5c2da3b028e65d27b852996302336d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">don't output sign, forbid the user to change the sign <br /></td></tr>
<tr class="separator:gad5c2da3b028e65d27b852996302336d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga126dea1949acdfb77903ed80006b6842"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga126dea1949acdfb77903ed80006b6842"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___o_o_f__.html#ga126dea1949acdfb77903ed80006b6842">OOFS_NEEDSIGN</a>&#160;&#160;&#160;0x0002</td></tr>
<tr class="memdesc:ga126dea1949acdfb77903ed80006b6842"><td class="mdescLeft">&#160;</td><td class="mdescRight">always out sign (+-) <br /></td></tr>
<tr class="separator:ga126dea1949acdfb77903ed80006b6842"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga119895f29c138475abfec9adb753bf09"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga119895f29c138475abfec9adb753bf09"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___o_o_f__.html#ga119895f29c138475abfec9adb753bf09">OOF_SIGNED</a>&#160;&#160;&#160;0x0004</td></tr>
<tr class="memdesc:ga119895f29c138475abfec9adb753bf09"><td class="mdescLeft">&#160;</td><td class="mdescRight">output as signed if &lt; 0 <br /></td></tr>
<tr class="separator:ga119895f29c138475abfec9adb753bf09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga56f31a0886e3b81b816815a7536fff19"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga56f31a0886e3b81b816815a7536fff19"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___o_o_f__.html#ga56f31a0886e3b81b816815a7536fff19">OOF_NUMBER</a>&#160;&#160;&#160;0x0008</td></tr>
<tr class="memdesc:ga56f31a0886e3b81b816815a7536fff19"><td class="mdescLeft">&#160;</td><td class="mdescRight">always as a number <br /></td></tr>
<tr class="separator:ga56f31a0886e3b81b816815a7536fff19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga187816d238afd7f7b96f07712bf0a784"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga187816d238afd7f7b96f07712bf0a784"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___o_o_f__.html#ga187816d238afd7f7b96f07712bf0a784">OOF_WIDTHMASK</a>&#160;&#160;&#160;0x0070</td></tr>
<tr class="memdesc:ga187816d238afd7f7b96f07712bf0a784"><td class="mdescLeft">&#160;</td><td class="mdescRight">width of value in bits <br /></td></tr>
<tr class="separator:ga187816d238afd7f7b96f07712bf0a784"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga11f4bc8957ed36319aada42a61c79d08"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga11f4bc8957ed36319aada42a61c79d08"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___o_o_f__.html#ga11f4bc8957ed36319aada42a61c79d08">OOFW_IMM</a>&#160;&#160;&#160;0x0000</td></tr>
<tr class="memdesc:ga11f4bc8957ed36319aada42a61c79d08"><td class="mdescLeft">&#160;</td><td class="mdescRight">take from x.dtype <br /></td></tr>
<tr class="separator:ga11f4bc8957ed36319aada42a61c79d08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga527a9a359a40bdfbacc4c653ca510355"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga527a9a359a40bdfbacc4c653ca510355"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___o_o_f__.html#ga527a9a359a40bdfbacc4c653ca510355">OOFW_8</a>&#160;&#160;&#160;0x0010</td></tr>
<tr class="memdesc:ga527a9a359a40bdfbacc4c653ca510355"><td class="mdescLeft">&#160;</td><td class="mdescRight">8 bit width <br /></td></tr>
<tr class="separator:ga527a9a359a40bdfbacc4c653ca510355"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga37805325965708bea6c2c29199074299"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga37805325965708bea6c2c29199074299"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___o_o_f__.html#ga37805325965708bea6c2c29199074299">OOFW_16</a>&#160;&#160;&#160;0x0020</td></tr>
<tr class="memdesc:ga37805325965708bea6c2c29199074299"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bit width <br /></td></tr>
<tr class="separator:ga37805325965708bea6c2c29199074299"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa37ea29398ba78be04abe2aab07429c6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa37ea29398ba78be04abe2aab07429c6"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___o_o_f__.html#gaa37ea29398ba78be04abe2aab07429c6">OOFW_24</a>&#160;&#160;&#160;0x0030</td></tr>
<tr class="memdesc:gaa37ea29398ba78be04abe2aab07429c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">24 bit width <br /></td></tr>
<tr class="separator:gaa37ea29398ba78be04abe2aab07429c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gada7c52e05bbe02cc5598f2454ece94e4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gada7c52e05bbe02cc5598f2454ece94e4"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___o_o_f__.html#gada7c52e05bbe02cc5598f2454ece94e4">OOFW_32</a>&#160;&#160;&#160;0x0040</td></tr>
<tr class="memdesc:gada7c52e05bbe02cc5598f2454ece94e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">32 bit width <br /></td></tr>
<tr class="separator:gada7c52e05bbe02cc5598f2454ece94e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9b2d00f4eeedf24e09b37f3ed9e9ee88"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9b2d00f4eeedf24e09b37f3ed9e9ee88"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___o_o_f__.html#ga9b2d00f4eeedf24e09b37f3ed9e9ee88">OOFW_64</a>&#160;&#160;&#160;0x0050</td></tr>
<tr class="memdesc:ga9b2d00f4eeedf24e09b37f3ed9e9ee88"><td class="mdescLeft">&#160;</td><td class="mdescRight">64 bit width <br /></td></tr>
<tr class="separator:ga9b2d00f4eeedf24e09b37f3ed9e9ee88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga08f0c8f9c6066b5ce737b3a302b92428"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga08f0c8f9c6066b5ce737b3a302b92428"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___o_o_f__.html#ga08f0c8f9c6066b5ce737b3a302b92428">OOF_ADDR</a>&#160;&#160;&#160;0x0080</td></tr>
<tr class="memdesc:ga08f0c8f9c6066b5ce737b3a302b92428"><td class="mdescLeft">&#160;</td><td class="mdescRight">output x.addr, otherwise x.value <br /></td></tr>
<tr class="separator:ga08f0c8f9c6066b5ce737b3a302b92428"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad3258572886342d6cfc46fc2d3382fdc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad3258572886342d6cfc46fc2d3382fdc"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___o_o_f__.html#gad3258572886342d6cfc46fc2d3382fdc">OOF_OUTER</a>&#160;&#160;&#160;0x0100</td></tr>
<tr class="memdesc:gad3258572886342d6cfc46fc2d3382fdc"><td class="mdescLeft">&#160;</td><td class="mdescRight">output outer operand <br /></td></tr>
<tr class="separator:gad3258572886342d6cfc46fc2d3382fdc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3412449a27b5d790ab96499d7a852399"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___o_o_f__.html#ga3412449a27b5d790ab96499d7a852399">OOF_ZSTROFF</a>&#160;&#160;&#160;0x0200</td></tr>
<tr class="memdesc:ga3412449a27b5d790ab96499d7a852399"><td class="mdescLeft">&#160;</td><td class="mdescRight">meaningful only if is_stroff(uFlag)  <a href="group___o_o_f__.html#ga3412449a27b5d790ab96499d7a852399">More...</a><br /></td></tr>
<tr class="separator:ga3412449a27b5d790ab96499d7a852399"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0d5b3b1e64051f6f0e7c45be39c05d77"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0d5b3b1e64051f6f0e7c45be39c05d77"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___o_o_f__.html#ga0d5b3b1e64051f6f0e7c45be39c05d77">OOF_NOBNOT</a>&#160;&#160;&#160;0x0400</td></tr>
<tr class="memdesc:ga0d5b3b1e64051f6f0e7c45be39c05d77"><td class="mdescLeft">&#160;</td><td class="mdescRight">prohibit use of binary not <br /></td></tr>
<tr class="separator:ga0d5b3b1e64051f6f0e7c45be39c05d77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga26333835719800be2bda18272dbcef57"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___o_o_f__.html#ga26333835719800be2bda18272dbcef57">OOF_SPACES</a>&#160;&#160;&#160;0x0800</td></tr>
<tr class="memdesc:ga26333835719800be2bda18272dbcef57"><td class="mdescLeft">&#160;</td><td class="mdescRight">do not suppress leading spaces  <a href="group___o_o_f__.html#ga26333835719800be2bda18272dbcef57">More...</a><br /></td></tr>
<tr class="separator:ga26333835719800be2bda18272dbcef57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a838d7aa7cd790f3ba20749d536744579"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a838d7aa7cd790f3ba20749d536744579"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>MAKELINE_NONE</b>&#160;&#160;&#160;0x00</td></tr>
<tr class="separator:a838d7aa7cd790f3ba20749d536744579"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c25d885de0e4913a26d24a7f9f825dd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c25d885de0e4913a26d24a7f9f825dd"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>MAKELINE_BINPREF</b>&#160;&#160;&#160;0x01</td></tr>
<tr class="separator:a9c25d885de0e4913a26d24a7f9f825dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff61a2ed75a47200ebd8c26f94c26757"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aff61a2ed75a47200ebd8c26f94c26757"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>MAKELINE_VOID</b>&#160;&#160;&#160;0x02</td></tr>
<tr class="separator:aff61a2ed75a47200ebd8c26f94c26757"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a762ef493cc67b0fe0b50efadd95df8b6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a762ef493cc67b0fe0b50efadd95df8b6"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>MAKELINE_STACK</b>&#160;&#160;&#160;0x04</td></tr>
<tr class="separator:a762ef493cc67b0fe0b50efadd95df8b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b755c28af95c1e047b3611cff08a7ae"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5b755c28af95c1e047b3611cff08a7ae"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>GH_PRINT_PROC</b>&#160;&#160;&#160;(1 &lt;&lt; 0)</td></tr>
<tr class="separator:a5b755c28af95c1e047b3611cff08a7ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a854594cb909e866c28fe1cff9a54f259"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a854594cb909e866c28fe1cff9a54f259"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>GH_PRINT_ASM</b>&#160;&#160;&#160;(1 &lt;&lt; 1)</td></tr>
<tr class="separator:a854594cb909e866c28fe1cff9a54f259"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ee3222bace7e74253b842413234e7e5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2ee3222bace7e74253b842413234e7e5"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>GH_PRINT_BYTESEX</b>&#160;&#160;&#160;(1 &lt;&lt; 2)</td></tr>
<tr class="separator:a2ee3222bace7e74253b842413234e7e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b9038d6f1d03d0ce9c2a4358557adfa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6b9038d6f1d03d0ce9c2a4358557adfa"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>GH_PRINT_HEADER</b>&#160;&#160;&#160;(1 &lt;&lt; 3)</td></tr>
<tr class="separator:a6b9038d6f1d03d0ce9c2a4358557adfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5813f073fe3b527fec1f8bc19b58b1cc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5813f073fe3b527fec1f8bc19b58b1cc"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>GH_BYTESEX_HAS_HIGHBYTE</b>&#160;&#160;&#160;(1 &lt;&lt; 4)</td></tr>
<tr class="separator:a5813f073fe3b527fec1f8bc19b58b1cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad286096ff12f61f6761bbee30be4bd0e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad286096ff12f61f6761bbee30be4bd0e"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>GH_PRINT_PROC_AND_ASM</b>&#160;&#160;&#160;(GH_PRINT_PROC | GH_PRINT_ASM)</td></tr>
<tr class="separator:ad286096ff12f61f6761bbee30be4bd0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45aab726516fe6d59959ad0cd62d485d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a45aab726516fe6d59959ad0cd62d485d"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>GH_PRINT_PROC_ASM_AND_BYTESEX</b>&#160;&#160;&#160;(GH_PRINT_PROC_AND_ASM | GH_PRINT_BYTESEX)</td></tr>
<tr class="separator:a45aab726516fe6d59959ad0cd62d485d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c096da6d45861d4caed00bff9e0bb37"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c096da6d45861d4caed00bff9e0bb37"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>GH_PRINT_ALL</b>&#160;&#160;&#160;(GH_PRINT_PROC_ASM_AND_BYTESEX | GH_PRINT_HEADER)</td></tr>
<tr class="separator:a9c096da6d45861d4caed00bff9e0bb37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ed8b2069a0ffb817215f6a0a82c093a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1ed8b2069a0ffb817215f6a0a82c093a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>GH_PRINT_ALL_BUT_BYTESEX</b>&#160;&#160;&#160;(GH_PRINT_PROC_AND_ASM | GH_PRINT_HEADER)</td></tr>
<tr class="separator:a1ed8b2069a0ffb817215f6a0a82c093a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Emulator helpers</div></td></tr>
<tr class="memitem:gadea83308bbe3028f66bde2b06d3931e1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_t_k_v_a_r__2.html#gadea83308bbe3028f66bde2b06d3931e1">STKVAR_VALID_SIZE</a>&#160;&#160;&#160;0x0001</td></tr>
<tr class="memdesc:gadea83308bbe3028f66bde2b06d3931e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">x.dtype contains correct variable type  <a href="group___s_t_k_v_a_r__2.html#gadea83308bbe3028f66bde2b06d3931e1">More...</a><br /></td></tr>
<tr class="separator:gadea83308bbe3028f66bde2b06d3931e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:aaf9da6ae7e8b201108fc225adf13b4d9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaf9da6ae7e8b201108fc225adf13b4d9"></a>
typedef <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ua_8hpp.html#aaf9da6ae7e8b201108fc225adf13b4d9">optype_t</a></td></tr>
<tr class="memdesc:aaf9da6ae7e8b201108fc225adf13b4d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">see <a class="el" href="group__o__.html">Operand types</a> <br /></td></tr>
<tr class="separator:aaf9da6ae7e8b201108fc225adf13b4d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:gad68bb114d00bf1541955467158677fa6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad68bb114d00bf1541955467158677fa6"></a>
const <a class="el" href="ua_8hpp.html#aaf9da6ae7e8b201108fc225adf13b4d9">optype_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__o__.html#gad68bb114d00bf1541955467158677fa6">o_void</a> = 0</td></tr>
<tr class="memdesc:gad68bb114d00bf1541955467158677fa6"><td class="mdescLeft">&#160;</td><td class="mdescRight">No Operand. <br /></td></tr>
<tr class="separator:gad68bb114d00bf1541955467158677fa6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab490f48c733f3d29c700bb5d70ecc198"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="ua_8hpp.html#aaf9da6ae7e8b201108fc225adf13b4d9">optype_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__o__.html#gab490f48c733f3d29c700bb5d70ecc198">o_reg</a> = 1</td></tr>
<tr class="memdesc:gab490f48c733f3d29c700bb5d70ecc198"><td class="mdescLeft">&#160;</td><td class="mdescRight">General Register (al,ax,es,ds...).  <a href="group__o__.html#gab490f48c733f3d29c700bb5d70ecc198">More...</a><br /></td></tr>
<tr class="separator:gab490f48c733f3d29c700bb5d70ecc198"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac180aea251826e5e5e484905e116c4cc"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="ua_8hpp.html#aaf9da6ae7e8b201108fc225adf13b4d9">optype_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__o__.html#gac180aea251826e5e5e484905e116c4cc">o_mem</a> = 2</td></tr>
<tr class="memdesc:gac180aea251826e5e5e484905e116c4cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Direct Memory Reference (DATA).  <a href="group__o__.html#gac180aea251826e5e5e484905e116c4cc">More...</a><br /></td></tr>
<tr class="separator:gac180aea251826e5e5e484905e116c4cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga622c0d3c3c8af0bed284a02b496ec288"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="ua_8hpp.html#aaf9da6ae7e8b201108fc225adf13b4d9">optype_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__o__.html#ga622c0d3c3c8af0bed284a02b496ec288">o_phrase</a> = 3</td></tr>
<tr class="memdesc:ga622c0d3c3c8af0bed284a02b496ec288"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory Ref [Base Reg + Index Reg].  <a href="group__o__.html#ga622c0d3c3c8af0bed284a02b496ec288">More...</a><br /></td></tr>
<tr class="separator:ga622c0d3c3c8af0bed284a02b496ec288"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2ae70c4ac00043f25a469a506a6f504f"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="ua_8hpp.html#aaf9da6ae7e8b201108fc225adf13b4d9">optype_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__o__.html#ga2ae70c4ac00043f25a469a506a6f504f">o_displ</a> = 4</td></tr>
<tr class="memdesc:ga2ae70c4ac00043f25a469a506a6f504f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory Reg [Base Reg + Index Reg + Displacement].  <a href="group__o__.html#ga2ae70c4ac00043f25a469a506a6f504f">More...</a><br /></td></tr>
<tr class="separator:ga2ae70c4ac00043f25a469a506a6f504f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga85e77bd8098a47465cd8e1193b6e154c"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="ua_8hpp.html#aaf9da6ae7e8b201108fc225adf13b4d9">optype_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__o__.html#ga85e77bd8098a47465cd8e1193b6e154c">o_imm</a> = 5</td></tr>
<tr class="memdesc:ga85e77bd8098a47465cd8e1193b6e154c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Immediate Value.  <a href="group__o__.html#ga85e77bd8098a47465cd8e1193b6e154c">More...</a><br /></td></tr>
<tr class="separator:ga85e77bd8098a47465cd8e1193b6e154c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac4a43a41f9a3a31b7bb6193e6d3cc447"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="ua_8hpp.html#aaf9da6ae7e8b201108fc225adf13b4d9">optype_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__o__.html#gac4a43a41f9a3a31b7bb6193e6d3cc447">o_far</a> = 6</td></tr>
<tr class="memdesc:gac4a43a41f9a3a31b7bb6193e6d3cc447"><td class="mdescLeft">&#160;</td><td class="mdescRight">Immediate Far Address (CODE).  <a href="group__o__.html#gac4a43a41f9a3a31b7bb6193e6d3cc447">More...</a><br /></td></tr>
<tr class="separator:gac4a43a41f9a3a31b7bb6193e6d3cc447"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga05209644e1ec11a2b0d96809bb60d6d8"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="ua_8hpp.html#aaf9da6ae7e8b201108fc225adf13b4d9">optype_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__o__.html#ga05209644e1ec11a2b0d96809bb60d6d8">o_near</a> = 7</td></tr>
<tr class="memdesc:ga05209644e1ec11a2b0d96809bb60d6d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Immediate Near Address (CODE).  <a href="group__o__.html#ga05209644e1ec11a2b0d96809bb60d6d8">More...</a><br /></td></tr>
<tr class="separator:ga05209644e1ec11a2b0d96809bb60d6d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga93c65fe52df27c2cf286579834e89f1c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga93c65fe52df27c2cf286579834e89f1c"></a>
const <a class="el" href="ua_8hpp.html#aaf9da6ae7e8b201108fc225adf13b4d9">optype_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__o__.html#ga93c65fe52df27c2cf286579834e89f1c">o_idpspec0</a> = 8</td></tr>
<tr class="memdesc:ga93c65fe52df27c2cf286579834e89f1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">processor specific type. <br /></td></tr>
<tr class="separator:ga93c65fe52df27c2cf286579834e89f1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga28544d70e5118d18bc443b1551bfb0d4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga28544d70e5118d18bc443b1551bfb0d4"></a>
const <a class="el" href="ua_8hpp.html#aaf9da6ae7e8b201108fc225adf13b4d9">optype_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__o__.html#ga28544d70e5118d18bc443b1551bfb0d4">o_idpspec1</a> = 9</td></tr>
<tr class="memdesc:ga28544d70e5118d18bc443b1551bfb0d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">processor specific type. <br /></td></tr>
<tr class="separator:ga28544d70e5118d18bc443b1551bfb0d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6aeffb56e320e7815d2fa9d2788f7512"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6aeffb56e320e7815d2fa9d2788f7512"></a>
const <a class="el" href="ua_8hpp.html#aaf9da6ae7e8b201108fc225adf13b4d9">optype_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__o__.html#ga6aeffb56e320e7815d2fa9d2788f7512">o_idpspec2</a> = 10</td></tr>
<tr class="memdesc:ga6aeffb56e320e7815d2fa9d2788f7512"><td class="mdescLeft">&#160;</td><td class="mdescRight">processor specific type. <br /></td></tr>
<tr class="separator:ga6aeffb56e320e7815d2fa9d2788f7512"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga38b52acb452efd50718bcc910bc9dce7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga38b52acb452efd50718bcc910bc9dce7"></a>
const <a class="el" href="ua_8hpp.html#aaf9da6ae7e8b201108fc225adf13b4d9">optype_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__o__.html#ga38b52acb452efd50718bcc910bc9dce7">o_idpspec3</a> = 11</td></tr>
<tr class="memdesc:ga38b52acb452efd50718bcc910bc9dce7"><td class="mdescLeft">&#160;</td><td class="mdescRight">processor specific type. <br /></td></tr>
<tr class="separator:ga38b52acb452efd50718bcc910bc9dce7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8ea529384422fe137b199e9d849182c0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8ea529384422fe137b199e9d849182c0"></a>
const <a class="el" href="ua_8hpp.html#aaf9da6ae7e8b201108fc225adf13b4d9">optype_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__o__.html#ga8ea529384422fe137b199e9d849182c0">o_idpspec4</a> = 12</td></tr>
<tr class="memdesc:ga8ea529384422fe137b199e9d849182c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">processor specific type. <br /></td></tr>
<tr class="separator:ga8ea529384422fe137b199e9d849182c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga610f9018ae82af4151f4270fca95be68"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="ua_8hpp.html#aaf9da6ae7e8b201108fc225adf13b4d9">optype_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__o__.html#ga610f9018ae82af4151f4270fca95be68">o_idpspec5</a> = 13</td></tr>
<tr class="memdesc:ga610f9018ae82af4151f4270fca95be68"><td class="mdescLeft">&#160;</td><td class="mdescRight">processor specific type.  <a href="group__o__.html#ga610f9018ae82af4151f4270fca95be68">More...</a><br /></td></tr>
<tr class="separator:ga610f9018ae82af4151f4270fca95be68"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a8726ede152c47736e053bb1a9295cc89"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define DECLARE_INSN_HELPERS</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">decl</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">decl <span class="keywordtype">bool</span> <a class="code" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> insn_create_op_data(<span class="keyword">const</span> <a class="code" href="classinsn__t.html">insn_t</a> &amp;insn, <a class="code" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea, <span class="keywordtype">int</span> opoff, op_dtype_t dtype); \</div>
<div class="line">decl <span class="keywordtype">void</span> <a class="code" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> insn_add_cref(<span class="keyword">const</span> <a class="code" href="classinsn__t.html">insn_t</a> &amp;insn, <a class="code" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> to, <span class="keywordtype">int</span> opoff, <a class="code" href="group__xref__type.html#ga44e2b79869a9595bbe6265ff2026aa98">cref_t</a> type); \</div>
<div class="line">decl <span class="keywordtype">void</span> <a class="code" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> insn_add_dref(<span class="keyword">const</span> <a class="code" href="classinsn__t.html">insn_t</a> &amp;insn, <a class="code" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> to, <span class="keywordtype">int</span> opoff, <a class="code" href="group__xref__type.html#ga78aab6d0d6bd9cb4904bbdbb5ac4fa71">dref_t</a> type); \</div>
<div class="line">decl <a class="code" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="code" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> insn_add_off_drefs(<span class="keyword">const</span> <a class="code" href="classinsn__t.html">insn_t</a> &amp;insn, <span class="keyword">const</span> <a class="code" href="classop__t.html">op_t</a> &amp;x, <a class="code" href="group__xref__type.html#ga78aab6d0d6bd9cb4904bbdbb5ac4fa71">dref_t</a> type, <span class="keywordtype">int</span> outf); \</div>
<div class="line">decl <span class="keywordtype">bool</span> <a class="code" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> insn_create_stkvar(<span class="keyword">const</span> <a class="code" href="classinsn__t.html">insn_t</a> &amp;insn, <span class="keyword">const</span> <a class="code" href="classop__t.html">op_t</a> &amp;x, <a class="code" href="pro_8h.html#ac29a387cc69c0d1abb2f2ef05dad1a6f">adiff_t</a> v, <span class="keywordtype">int</span> flags);</div>
<div class="ttc" id="classop__t_html"><div class="ttname"><a href="classop__t.html">op_t</a></div><div class="ttdoc">Operand of an instruction. </div><div class="ttdef"><b>Definition:</b> ua.hpp:162</div></div>
<div class="ttc" id="classinsn__t_html"><div class="ttname"><a href="classinsn__t.html">insn_t</a></div><div class="ttdef"><b>Definition:</b> ua.hpp:346</div></div>
<div class="ttc" id="pro_8h_html_a7b0aeaed04e477c02cf8ea3452002d1a"><div class="ttname"><a href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a></div><div class="ttdeci">uint32 ea_t</div><div class="ttdoc">effective address </div><div class="ttdef"><b>Definition:</b> pro.h:408</div></div>
<div class="ttc" id="pro_8h_html_a176294e75f953787714b9d08ffa89adf"><div class="ttname"><a href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a></div><div class="ttdeci">#define ida_export</div><div class="ttdoc">functions marked with this keyword are available as part of the IDA SDK </div><div class="ttdef"><b>Definition:</b> pro.h:259</div></div>
<div class="ttc" id="group__xref__type_html_ga44e2b79869a9595bbe6265ff2026aa98"><div class="ttname"><a href="group__xref__type.html#ga44e2b79869a9595bbe6265ff2026aa98">cref_t</a></div><div class="ttdeci">cref_t</div><div class="ttdoc">CODE xref types. </div><div class="ttdef"><b>Definition:</b> xref.hpp:40</div></div>
<div class="ttc" id="group__xref__type_html_ga78aab6d0d6bd9cb4904bbdbb5ac4fa71"><div class="ttname"><a href="group__xref__type.html#ga78aab6d0d6bd9cb4904bbdbb5ac4fa71">dref_t</a></div><div class="ttdeci">dref_t</div><div class="ttdoc">DATA xref types. </div><div class="ttdef"><b>Definition:</b> xref.hpp:58</div></div>
<div class="ttc" id="pro_8h_html_ac29a387cc69c0d1abb2f2ef05dad1a6f"><div class="ttname"><a href="pro_8h.html#ac29a387cc69c0d1abb2f2ef05dad1a6f">adiff_t</a></div><div class="ttdeci">int32 adiff_t</div><div class="ttdoc">address difference </div><div class="ttdef"><b>Definition:</b> pro.h:411</div></div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ae5931c5d9066c7082df66cab0f16fdce"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> size_t <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> get_immvals </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#aef265b11f25357d520dcfd40aa8c18f3">uval_t</a> *&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>ea</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a55dd00e03168fb5180830e87ef0a2c57">flags_t</a>&#160;</td>
          <td class="paramname"><em>F</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classinsn__t.html">insn_t</a> *&#160;</td>
          <td class="paramname"><em>cache</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get immediate values at the specified address. </p>
<p>This function decodes instruction at the specified address or inspects the data item. It finds immediate values and copies them to 'out'. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">out</td><td>array of immediate values (at least 2*<a class="el" href="ida_8hpp.html#ae2018a7cee04a8a790fc5fc445fb473a" title="max number of operands allowed for an instruction ">UA_MAXOP</a> elements) </td></tr>
    <tr><td class="paramname">ea</td><td>address to analyze </td></tr>
    <tr><td class="paramname">n</td><td>number of operand (0..<a class="el" href="ida_8hpp.html#ae2018a7cee04a8a790fc5fc445fb473a" title="max number of operands allowed for an instruction ">UA_MAXOP</a>-1), -1 means all operands </td></tr>
    <tr><td class="paramname">F</td><td>flags for the specified address </td></tr>
    <tr><td class="paramname">cache</td><td>optional already decoded instruction or buffer for it. if the cache does not contain the decoded instruction, it will be updated (useful if we call get_immvals for the same address multiple times) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>number of immediate values (0..2*<a class="el" href="ida_8hpp.html#ae2018a7cee04a8a790fc5fc445fb473a" title="max number of operands allowed for an instruction ">UA_MAXOP</a>) </dd></dl>

</div>
</div>
<a class="anchor" id="a059a23df8db91c9efdf671ab746f5dd3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> int <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> get_lookback </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Number of instructions to look back. </p>
<p>This variable is not used by the kernel. Its value may be specified in ida.cfg: LOOKBACK = &lt;number&gt;. IDP may use it as you like it. (TMS module uses it) </p>

</div>
</div>
<a class="anchor" id="a6c6e3e05aec87c39975384b2518ac197"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> calc_dataseg </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classinsn__t.html">insn_t</a> &amp;&#160;</td>
          <td class="paramname"><em>insn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em> = <code>-1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>rgnum</em> = <code>-1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get data segment for the instruction operand. </p>
<p>'opnum' and 'rgnum' are meaningful only if the processor has segment registers. </p>

</div>
</div>
<a class="anchor" id="ade94ed050ba6d52abf9967b536a2c0ad"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> map_data_ea </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classinsn__t.html">insn_t</a> &amp;&#160;</td>
          <td class="paramname"><em>insn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>addr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>opnum</em> = <code>-1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Map a data address. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">insn</td><td>the current instruction </td></tr>
    <tr><td class="paramname">addr</td><td>the referenced address to map </td></tr>
    <tr><td class="paramname">opnum</td><td>operand number </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1ef618838a811385a5f2564bcab4e762"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> map_code_ea </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classinsn__t.html">insn_t</a> &amp;&#160;</td>
          <td class="paramname"><em>insn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>addr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>opnum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Map a code address. </p>
<p>This function takes into account the segment translations. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">insn</td><td>the current instruction </td></tr>
    <tr><td class="paramname">addr</td><td>the referenced address to map </td></tr>
    <tr><td class="paramname">opnum</td><td>operand number </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="afce3853e267ffe25b65a3dd82aee0a51"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="structoutctx__base__t.html">outctx_base_t</a>* <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> create_outctx </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>ea</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a55dd00e03168fb5180830e87ef0a2c57">flags_t</a>&#160;</td>
          <td class="paramname"><em>F</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>suspop</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a new output context. </p>
<p>To delete it, just use "delete pctx" </p>

</div>
</div>
<a class="anchor" id="a402aa11dc2b647150905fa46acd063e1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> print_insn_mnem </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a> *&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>ea</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Print instruction mnemonics. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">out</td><td>output buffer </td></tr>
    <tr><td class="paramname">ea</td><td>linear address of the instruction </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>success </dd></dl>

</div>
</div>
<a class="anchor" id="acb129feb2d4ac731c53ff93ab00beccb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> print_charlit </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>ptr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Print a character constant. </p>
<p>This is low level function, it is called from out_value(). </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buf</td><td>output buffer </td></tr>
    <tr><td class="paramname">ptr</td><td>pointer to value to print </td></tr>
    <tr><td class="paramname">size</td><td>size of input value in bytes </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">1</td><td>ok, the buffer contains character constant. its form depends on asm_t::flags. </td></tr>
    <tr><td class="paramname">0</td><td>failed, probably the constant is invalid for the target assembler </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a091725df85169dc0f25a40ba62a6304e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> print_fpval </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>bufsize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>v</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Print a floating point value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buf</td><td>output buffer. may be NULL </td></tr>
    <tr><td class="paramname">bufsize</td><td>size of the output buffer </td></tr>
    <tr><td class="paramname">v</td><td>floating point value in processor native format </td></tr>
    <tr><td class="paramname">size</td><td>size of the value in bytes </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true ok </dd>
<dd>
false can't represent as floating point number </dd></dl>

</div>
</div>
<a class="anchor" id="a6e879b8ca7ebc610fb694d36be975922"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> int <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> create_insn </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>ea</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classinsn__t.html">insn_t</a> *&#160;</td>
          <td class="paramname"><em>out</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create an instruction at the specified address. </p>
<p>This function checks if an instruction is present at the specified address and will try to create one if there is none. It will fail if there is a data item or other items hindering the creation of the new instruction. This function will also fill the 'out' structure. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ea</td><td>linear address </td></tr>
    <tr><td class="paramname">out</td><td>the resulting instruction </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the length of the instruction or 0 </dd></dl>

</div>
</div>
<a class="anchor" id="af83aad26f4b3e39e7fbda441100f15cf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> int <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> decode_insn </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classinsn__t.html">insn_t</a> *&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>ea</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Analyze the specified address and fill 'out'. </p>
<p>This function does not modify the database. It just tries to interpret the specified address as an instruction and fills the 'out' structure. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">out</td><td>the resulting instruction </td></tr>
    <tr><td class="paramname">ea</td><td>linear address </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the length of the (possible) instruction or 0 </dd></dl>

</div>
</div>
<a class="anchor" id="aecb13f7c9c45e7098a438ffbaf51fc1f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool can_decode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>ea</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Can the bytes at address 'ea' be decoded as instruction? </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ea</td><td>linear address </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>whether or not the contents at that address could be a valid instruction </dd></dl>

</div>
</div>
<a class="anchor" id="a65483e473d279d4d2046b3dab55db250"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> print_operand </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a> *&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>ea</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>getn_flags</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structprintop__t.html">printop_t</a> *&#160;</td>
          <td class="paramname"><em>newtype</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Generate text representation for operand #n. </p>
<p>This function will generate the text representation of the specified operand. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">out</td><td>output buffer </td></tr>
    <tr><td class="paramname">ea</td><td>the item address (instruction or data) </td></tr>
    <tr><td class="paramname">n</td><td>operand number (0,1,2...). meaningful only for instructions </td></tr>
    <tr><td class="paramname">flags</td><td><a class="el" href="group___g_e_t_n__.html">Name expression flags</a> Currently only <a class="el" href="group___g_e_t_n__.html#ga087e60e7f734e12197cbd6f3fd0238eb" title="do not create a new dummy name but pretend it exists ">GETN_NODUMMY</a> is accepted. </td></tr>
    <tr><td class="paramname">newtype</td><td>if specified, print the operand using the specified type </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>success </dd></dl>

</div>
</div>
<a class="anchor" id="aa2e41a09ae3fbbdc017e6f06df6015cd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> decode_prev_insn </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classinsn__t.html">insn_t</a> *&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>ea</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Decode previous instruction if it exists, fill 'out'. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">out</td><td>the resulting instruction </td></tr>
    <tr><td class="paramname">ea</td><td>the address to decode the previous instruction from </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the previous instruction address (<a class="el" href="pro_8h.html#a63a7c1cde5fb0cf0d0023d55c742dd4f" title="this value is used for &#39;bad address&#39; ">BADADDR</a>-no such insn) </dd></dl>

</div>
</div>
<a class="anchor" id="a7af8005f410c8436f938da3c28eeb685"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> decode_preceding_insn </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classinsn__t.html">insn_t</a> *&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>ea</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool *&#160;</td>
          <td class="paramname"><em>p_farref</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Decode preceding instruction in the execution flow. </p>
<p>Prefer far xrefs from addresses &lt; the current to ordinary flows. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ea</td><td>the address to decode the preceding instruction from </td></tr>
    <tr><td class="paramname">out</td><td>the resulting instruction </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the preceding instruction address (<a class="el" href="pro_8h.html#a63a7c1cde5fb0cf0d0023d55c742dd4f" title="this value is used for &#39;bad address&#39; ">BADADDR</a>-no such insn) and 'out'. *p_farref will contain 'true' if followed an xref, false otherwise. </dd></dl>

</div>
</div>
<a class="anchor" id="ae47fd4a188e72fcd6d7bb0b021f655b4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> construct_macro </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classinsn__t.html">insn_t</a> &amp;&#160;</td>
          <td class="paramname"><em>insn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>enable</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool(<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> *)(<a class="el" href="classinsn__t.html">insn_t</a> &amp;insn, bool may_go_forward)&#160;</td>
          <td class="paramname"><em>build_macro</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Construct a macro instruction. </p>
<p>This function may be called from ana() to generate a macro instruction.</p>
<p>The real work is done by the 'build_macro()' parameter. This callback should be provided by the module writer.</p>
<p>Here we just create the instruction in the database when the macro generation is turned on/off.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">insn</td><td>the instruction </td></tr>
    <tr><td class="paramname">enable</td><td>enable macro generation </td></tr>
    <tr><td class="paramname">build_macro</td><td>try to grow the instruction in 'insn' to a macro </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">true</td><td>the macro instruction is generated in 'out' </td></tr>
    <tr><td class="paramname">false</td><td>no macro </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a02a4561e4f07baf3751b23f5636e440f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> int <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> get_spoiled_reg </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classinsn__t.html">insn_t</a> &amp;&#160;</td>
          <td class="paramname"><em>insn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="pro_8h.html#a1134b580f8da4de94ca6b1de4d37975e">uint32</a> *&#160;</td>
          <td class="paramname"><em>regs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Does the instruction spoil any register from 'regs'?. </p>
<p>This function checks the <a class="el" href="group___c_f__.html">Instruction feature bits</a> flags from the instructions array. Only <a class="el" href="group__o__.html#gab490f48c733f3d29c700bb5d70ecc198" title="General Register (al,ax,es,ds...). ">o_reg</a> operand types are consulted. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">insn</td><td>the instruction </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>index in the 'regs' array or -1 </dd></dl>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
</body>
</html>
